package com.dhz.common.solr.server;

import org.apache.solr.client.solrj.SolrClient;

import java.util.List;

/**
 * 提供solrj的访问入口，solrj-5.3.0
 * {@link SolrClient}
 *
 * @author Fyduan
 */
public interface SolrClientFactory {

    /**
     * 获得基本的SolrClient实例
     * @return {@link SolrClient} 一个可以重复使用的实例
     */
    SolrClient getSolrClient();

    /**
     * 获得指定配置(core)的{@link SolrClient}实例
     * @param coreName solr的 core 名称
     * @return {@link SolrClient} 一个可以重复使用的实例
     */
    SolrClient getSolrClient(String coreName);

    /**
     * 获得solr服务中的cores
     * @return {@link List} core name list；如果没有core时，返回empty list
     */
    List<String> getCores();

}
